#include <bits/stdc++.h>
using namespace std;

bool check(vector<int>& ret,int left,int right)
{
  int k=0;
  for(int i=left;i<=right;++i)
  {
    if(ret[i]>=left&&ret[i]<=right)
    {
      k++;
    }
    else
    {
    	return false;
	}
  }
  if(k==(right-left+1))
  {
    return true;
  }
  else
  {
    return false;
  }
}

int main()
{
  int n=0;
  int tmp=1;
  cin>>n;
  vector<vector<int>> dp(n,vector<int>(n,1));
  vector<int> ret(n);
  for(int i=0;i<n;++i)
  {
    cin>>ret[i];
  }
  for(int i=1;i<n;++i)
  {
    for(int j=0;j<=i;++j)
    {
      if(check(ret,j,i))
      {
        dp[i][j]=max(dp[i][j],dp[i-1][j+1]+2);
      }
      tmp=max(tmp,dp[i][j]);
    }
  }
  cout<<tmp;
  return 0;
}
